home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group95b.txt / 000031_icon-group-sender _Tue May 30 14:57:03 1995.msg < prev    next >
Internet Message Format  |  1995-09-18  |  3KB

  1. Received: by cheltenham.cs.arizona.edu; Tue, 30 May 1995 12:13:01 MST
  2. To: icon-group-l@cs.arizona.edu
  3. Date: 30 May 1995 14:57:03 GMT
  4. From: espie@lotus.ens.fr (Marc Espie)
  5. Message-Id: <3qfbnv$fjr@nef.ens.fr>
  6. Organization: Ecole Normale Superieure, PARIS, France
  7. Sender: icon-group-request@cs.arizona.edu
  8. References: <3pv9m2$n57@nova.umuc.edu>, <3qesfp$bhj@goanna.cs.rmit.edu.au>, <D9E9B9.LyD@midway.uchicago.edu>
  9. Subject: Re: icon notes [Re: Is there such a language...]
  10. Errors-To: icon-group-errors@cs.arizona.edu
  11.  
  12. In article <D9E9B9.LyD@midway.uchicago.edu>,
  13. Richard L. Goerwitz <goer@midway.uchicago.edu> wrote:
  14. >Richard A. O'Keefe <ok@goanna.cs.rmit.edu.au> wrote:
  15. >
  16. >>>Does the Icon compiler produce native (machine) code?
  17. >>
  18. >>Yes.  It is called 'iconc'.
  19. >
  20. >But the executables tend to be rather large, and in most
  21. >cases you're better off using the interpreter.  To the user
  22. >there is no difference except execution speed.  And the in-
  23. >terpreter is much easier to deal with (older, more reliable,
  24. >faster to create executables, etc.).
  25. >
  26. Except for icon Makefiles looking like tangled spaghettis, it's
  27. rather easy to get icon to use shared dynamic libraries on modern
  28. architectures like Sparc, in which case the whole runtime gets shared
  29. and the code size gets down somewhat.
  30.  
  31. The other problem is more drastic: the icon compiler is not supported,
  32. since the Icon Project doesn't have enough support for doing it, it
  33. doesn't support separate compilation, and really interesting optimizations
  34. are not implementing (like downgrading icon integers to real C integers).
  35. Oh yes... and there might be some bugs in the type inferencing compiler as
  36. well...
  37.  
  38. All this notwithstanding, there are still some cases when compiling is
  39. useful... For some rather intensive combinatorial programs, I've got a
  40. 3x speed-up, going down from 24 hours to 8 hours, and it's always fun to
  41. use the compiler (Wow! 80 000 lines of C code, iconc making 10 passes of
  42. type inferencing, gobbling up 30 Megs of memory :-) ).
  43.  
  44. Actually the answer is incorrect: iconc produces intermediate C code,
  45. that is compiled by the machine native compiler (or gcc in most cases).
  46. Using -p "-O2" with iconc helps getting fast executables. This might
  47. explain why you got nearly no improvement when using iconc.
  48.  
  49. -- 
  50. [nosave]<http://acacia.ens.fr:8080/home/espie/index.html>
  51. `Ayuka no koto... suki dayo.' (KOR, Ano Hi ni kaeritai)
  52. `$@0>@n(J $@$N$3$H!<9%$-$@$h!#(J' ($@$"$NF|$K5"$j$?$$(J)(B
  53.     Marc Espie (Marc.Espie@ens.fr)
  54.